package com.zhang.authoritycenter.service;


import com.zhang.authoritycenter.common.model.dto.authority.CheckTokenReqDTO;
import com.zhang.authoritycenter.common.model.dto.authority.GetUserReqDTO;
import com.zhang.authoritycenter.common.model.dto.authority.UserResDTO;
import com.zhang.authoritycenter.common.model.dto.auth.UserDTO;

/**
 * @author zhangFanJun
 * @date 2023-12-06 23:26
 **/
public interface IOauthService {

    /**
     * token检查
     *
     * @param in 入参
     * @return 用户信息和权限
     * @author zfj
     * @date 2023/12/26
     */
    Boolean validateToken(CheckTokenReqDTO in);

    /**
     * 获取用户信息和权限
     * 请求头携带token
     *
     * @return 用户信息和权限
     * @author zfj
     * @date 2023/12/26
     */
    UserDTO userDetail();

    /**
     * 获取用户信息和权限
     * 请求头不携带token
     *
     * @param in 入参
     * @return 用户信息和权限
     * @author zfj
     * @date 2023/12/26
     */
    UserResDTO getUser(GetUserReqDTO in);
}
